package com.itheima.controller;

import com.itheima.domain.User;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

import java.io.UnsupportedEncodingException;

@Controller
@RequestMapping
public class UserController {

    //酸欠少女さユり(不带数据返回)
    @RequestMapping("/login1")
    public String login(User user) throws UnsupportedEncodingException {
        //判断用户名和密码是否正确
        //乱码处理，由于前台传入数据时使用utf-8解码，但tomcat通过"ISO-8859-1"编码，所以需要重新解码后用"utf-8"再次编码
        byte[] bytes = user.getUsername().getBytes("ISO-8859-1");
        String newnanme = new String(bytes, "utf-8");
        if ("酸欠少女さユり".equals(newnanme) && "123".equals(user.getPassword())){
            //正确的话就跳转到WEB-INF/jsp/success.jsp,并且页面上要显示登录的用户名
            return "success";
        }
        //否则就跳转到login.jsp(重定向)
        return "redirect:login.jsp";
    }

    //使用Model对象(带数据返回)
    @RequestMapping("/login2")
    public String login(Model model,User user) throws UnsupportedEncodingException {
        byte[] bytes = user.getUsername().getBytes("ISO-8859-1");
        String newnanme = new String(bytes, "utf-8");
        if ("酸欠少女さユり".equals(newnanme) && "123".equals(user.getPassword())){
            //返回用户名，并在前台展示
            model.addAttribute("username",newnanme);
            return "success";
        }
        model.addAttribute("error","登陆失败了呢~ごめんなさい≧ ﹏ ≦");
        //如果想在前台返回数据，一定要用请求转发
        return "forward:login.jsp";
    }


    //使用ModelAndView对象(带数据返回)
    @RequestMapping("/login")
    public ModelAndView login(ModelAndView modelAndView, User user) throws UnsupportedEncodingException {
        byte[] bytes = user.getUsername().getBytes("ISO-8859-1");
        String newnanme = new String(bytes, "utf-8");
        if ("酸欠少女さユり".equals(newnanme) && "123".equals(user.getPassword())){
            //返回用户名，并在前台展示(设置数据)
            modelAndView.addObject("username",newnanme);
            //设置视图的逻辑名
            modelAndView.setViewName("success");
            return modelAndView ;
        }
        //如果想在前台返回数据，一定要用请求转发
        modelAndView.addObject("error","登陆失败了呢~ごめんなさい≧ ﹏ ≦");
        modelAndView.setViewName("forward:login.jsp");
        return modelAndView;
    }



}